https://www.allaboutcircuits.com/worksheets/design-project-pulse-width-modulation-pwm-signal-generator/